The server was unable to process the request due to an internal error

If the error "The server was unable to process the request due to an internal error." displays, it means that the Cobra Gateway encountered issues when connecting to one of the Cobra Web Service instances. Use the Gateway's debug log file to see the specific error.

To view the debug log and determine the error:

  1. Navigate to the following folder on the Cobra Concurrency machine: <Dedicated Windows Account>\Documents\Deltek\Cobra\Log.
  2. Locate the WebServiceGatewayDebugLog.xml file and open it using a text editor (such as Notepad) and look for the error message.
    Refer to the following table for the error message and its solution.
    Error Message

    (1) The remote server returned an error: (401) Unauthorized.

    (2) Unhandled Exception: The target principal name is incorrect.

    (3) The HTTP request is unauthorized with client authentication scheme 'Negotiate'.

    Description

    The error is usually encountered when the Cobra Web Service is located on a remote machine which runs on the Windows Domain Account that does not have access to the Service Principal Name (SPN).

    When the Cobra Gateway establishes a connection to the Cobra Web Service, the Cobra Web Service usually sends the SPN declared on the machine, known as Identity, to the Cobra Gateway. Since the Windows Domain Account runs on a remote machine and does not have access to the SPN, the Cobra Web Service sends the User Principal Name (UPN) instead.

    The Cobra Gateway, which expects the SPN Identity from the Cobra Web Service receives the UPN Identity instead. This results in the Cobra Gateway rejecting the connection.

    Solution #1: Specify the UPN of the running Windows domain account as the Identity of each remote Cobra Web Service in the Cobra Gateway's configuration file using the Cobra Web Service Gateway Configuration Tool.

    To specify the UPN on each remote Cobra Web Service:

    1. Navigate to the Cobra installation directory and locate the Cobra Web Service Gateway Configuration Tool (CWSGatewayConfigurationTool. ).

    2. Right-click the tool and select Run As Administrator from the shortcut menu.

    3. In the Cobra Web Service Endpoints grid, update the UPN field of each remote CWS.

    4. Click Save, and then click Close.

    5. Restart the “Gateway” service in Windows Services.

    Solution #2: Have a Network Administrator register the http/<host name> and http/<fully qualified host name> SPN under the dedicated Windows Domain Account in Active Directory. Host name refers to the remote machines where the Cobra Web Services are hosted.
    Note: Before adding SPNs to the dedicated Windows Domain Account, make sure that these SPNs are not registered under another computer or user account. Having duplicate SPNs can cause authentication problem. For more information about SPN, https://docs.microsoft.com/en-us/windows/win32/ad/service-principal-names.
    Warning: Registering a HTTP type SPN can affect other HTTP traffic hosted on the machine.
    Tip: The Setspn command is a Windows command that allows you to register a SPN user for the dedicated Windows Domain Account. For more information about Setspn command, see https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/cc731241(v=ws.11).

    To register a SPN:

    1. Launch the Command Prompt and select Run As Administrator.

    2. Enter these two commands:

    Setspn –U –S http/<host name> <dedicated Windows Domain Account>

    Setspn –U –S http/<fully qualified host name> <dedicated Windows Domain Account>

    For example:

    Setspn –U –S http/COBWSHOST1 MYDOMAIN\serviceaccount

    Setspn –U –S http/COBWSHOST1.mydomain.com MYDOMAIN\serviceaccount

    3. Wait for the SPN change to propagate across the entire network. You may also need to restart your machine to complete the change.